package com.tourism.service;

import com.tourism.common.Result;
import com.tourism.entity.Menu;

import java.util.List;

public interface MenuService {

    /**
     * 根据ID获取菜单信息
     * @param id 菜单ID
     * @return 菜单信息
     */
    Result getMenuById(Integer id);

    /**
     * 分页查询菜单列表
     * @param page 当前页码
     * @param pageSize 每页显示数量
     * @param name 菜品名称（模糊查询）
     * @param description 菜品描述（模糊查询）
     * @return 分页结果
     */
    Result getMenuList(Integer page, Integer pageSize, String name, String description);

    /**
     * 添加菜单信息
     * @param menu 菜单实体
     * @return 添加结果
     */
    Result addMenu(Menu menu);

    /**
     * 更新菜单信息
     * @param menu 菜单实体
     * @return 更新结果
     */
    Result updateMenu(Menu menu);

    /**
     * 根据ID删除菜单信息
     * @param id 菜单ID
     * @return 删除结果
     */
    Result deleteMenu(Integer id);

    /**
     * 批量删除菜单信息
     * @param ids 菜单ID列表
     * @return 批量删除结果
     */
    Result batchDeleteMenus(List<Integer> ids);

    /**
     * 获取所有菜单信息
     * @return 所有菜单列表
     */
    Result getAllMenus();
}
